The enormous growth in network communications has been due at least in part to the wide variety of applications using the network, such as the Internet. For example, today's applications include web sites used by merchants to conduct business, web sites for education activities, and web sites for web logs or blogs. Other applications include text messaging, Voice over Internet Protocol (VoIP), video conferencing, streaming multimedia distributions, online games, and other types of multimedia communications.
Many of the network architectures used to support these applications, and others, are often designed with the intent of providing high availability. One such network architecture is known as IP multimedia subsystem (IMS) architecture. IMS traditionally is a configuration of networking components arranged to provide multimedia applications over IP. IMS as used herein refers to the configurations and specifications described by the wireless standards body 3rd Generation Partnership Project (3GPP), as well as the architectures described by 3rd Generation Partnership Project 2 (3GPP2), and Telecoms & Internet converged Services & Protocols for Advanced Networks (TISPAN). Examples of such architectures, standards and/or specifications may be found at European Telecommunications Standards Institute (ETSI) web site (for TISPAN related specifications), and/or 3GPP websites.
Typically, an IMS configuration might include a plurality of application servers that may reside behind a plurality of proxy servers, which are then configured to route incoming messages to one of a plurality of application servers.
In the typical IMS architecture, client devices may send messages over a network to be managed by one of the application servers configured to provide the multimedia services being requested. As part of such multimedia communications, the client devices might employ a networking protocol, such as Session Initiation Protocol (SIP). SIP is known as a signaling protocol, widely used for setting up and tearing down multimedia communication sessions such as voice and video calls over the network. While SIP messages may be initiated by a client device, SIP messages may also be initiated by one or more of the application servers. For example, as part of an invite for a multimedia conferencing session, an application server may send SIP invite messages to a plurality of client devices. Because the SIP messages may employ an underlying connectionless oriented network protocol, such as User Datagram Protocol (UDP), or the like, routing incoming SIP messages to the same application server has not always been successful using traditional implementations of proxy servers. Thus, allocating workload across the plurality of application servers has often been complicated, expensive, and ineffective.